-
Notifications
You must be signed in to change notification settings - Fork 1.8k
OSSM-4815: Document HA for a mesh #96010
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: service-mesh-docs-main
Are you sure you want to change the base?
Conversation
@rh-tokeefe: This pull request references OSSM-4815 which is a valid jira issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
@rh-tokeefe: This pull request references OSSM-4815 which is a valid jira issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
🤖 Tue Jul 15 21:23:08 - Prow CI generated the docs preview: https://96010--ocpdocs-pr.netlify.app/ |
@rh-tokeefe: This pull request references OSSM-4815 which is a valid jira issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I left some minor changes
|
||
Running the {istio} control plane in High Availability (HA) mode prevents single points of failure, and ensures continuous mesh operation even if an `istiod` pod fails. By using HA, if one `istiod` pod becomes unavailable, another one continues to manage and configure the {istio} control plane, preventing service outages or disruptions. HA provides scalability by distributing the control plane workload, enables graceful upgrades, supports disaster recovery operations, and protects against zone-wide mesh outages. | ||
|
||
There are two ways for a system administrator to configure HA: by defining replica count or by using autoscaling. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are two ways for a system administrator to configure HA: by defining replica count or by using autoscaling. | |
There are two ways for a system administrator to configure HA for the `istiod` deployment: | |
* Defining a static replica count: This involves setting a fixed number of `istiod` pods, providing a consistent level of redundancy. | |
* Using autoscaling: This dynamically adjusts the number of `istiod` pods based on observed resource utilization or custom metrics, offering more efficient resource consumption for fluctuating workloads. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think adding a preview here will be better to give the users a first approach to what the configuration types are
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
[id="ossm-configuring-istio-ha-autoscaling_{context}"] | ||
= Configuring Istio HA by using autoscaling | ||
|
||
Configure the {istio} control plane in High Availability (HA) mode to prevent a single point of failure, and ensure continuous mesh operation even if one of the `istiod` pods fails. Autoscaling defines the minimum and maximum number of {istio} control plane pods that can operate. {ocp-product-title} uses these values to scale the number of control planes in operation in response to the varying number of workloads in the mesh. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Configure the {istio} control plane in High Availability (HA) mode to prevent a single point of failure, and ensure continuous mesh operation even if one of the `istiod` pods fails. Autoscaling defines the minimum and maximum number of {istio} control plane pods that can operate. {ocp-product-title} uses these values to scale the number of control planes in operation in response to the varying number of workloads in the mesh. | |
Configure the {istio} control plane in High Availability (HA) mode to prevent a single point of failure, and ensure continuous mesh operation even if one of the `istiod` pods fails. Autoscaling defines the minimum and maximum number of {istio} control plane pods that can operate. {ocp-product-title} uses these values to scale the number of control planes in operation based on observed resource utilization (such as CPU or memory) or custom metrics, effectively responding to the varying number of workloads and overall traffic patterns within the mesh. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
<1> Defines the minimum number of {istio} control plane replicas that always run. | ||
<2> Defines the maximum number of {istio} control plane replicas, allowing for scaling based on load. To support HA, there must be at least two replicas. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be highly beneficial to add a note here describing the specific metrics that can be used to configure Istiod autoscaling (scale up/down). For example, users can set spec.values.pilot.cpu.targetAverageUtilization and spec.values.pilot.memory.targetAverageUtilization to define CPU and Memory thresholds for triggering scaling actions. Sorry for not adding this also in the upstream docs, but I'll add it there. I think it's good to point the users which configuration is going to trigger this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
istiod-7c7b6564c9-xkmsl 1/1 Running 0 85s | ||
---- | ||
+ | ||
Two `istiod` pods are running, which indicates HA was successfully configured. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Two `istiod` pods are running, which indicates HA was successfully configured. | |
Two `istiod` pods are running, which is the minimum requirement for a highly available Istio control plane and indicates a basic HA setup is in place. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
[id="ossm-configuring-istio-ha-replicacount_{context}"] | ||
= Configuring Istio HA by using replica count | ||
|
||
Configure the {istio} control plane in High Availability (HA) mode to prevent a single point of failure, and ensure continuous mesh operation even if one of the `istiod` pods fails. The replica count defines a fixed number of {istio} control plane pods that can operate. Use replica count for mesh environments in which the number of workloads does not scale. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Configure the {istio} control plane in High Availability (HA) mode to prevent a single point of failure, and ensure continuous mesh operation even if one of the `istiod` pods fails. The replica count defines a fixed number of {istio} control plane pods that can operate. Use replica count for mesh environments in which the number of workloads does not scale. | |
Configure the {istio} control plane in High Availability (HA) mode to prevent a single point of failure, and ensure continuous mesh operation even if one of the `istiod` pods fails. The replica count defines a fixed number of {istio} control plane pods that can operate. Use replica count for mesh environments where the control plane workload is relatively stable or predictable, or when manual scaling of the `istiod` is preferred. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
@rh-tokeefe: all tests passed! Full PR test history. Your PR dashboard. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
Affects:
service-mesh-docs-main
service-mesh-docs-3.0
service-mesh-docs-3.1
PR must be merged to service docs main and CP'd back to the 3.0 and 3.1 branches.
Version(s): 3.1
Issue: https://issues.redhat.com/browse/OSSM-4815
Link to docs preview:
https://96010--ocpdocs-pr.netlify.app/openshift-service-mesh/latest/install/ossm-installing-openshift-service-mesh.html#ossm-about-istio-high-availability_ossm-customizing-istio-configuration
QE review:
Additional information: